package com.mapaoer.user.service;

import com.mapaoer.user.entity.Permission;
import com.mapaoer.user.entity.Role;
import java.util.List;

public interface RolePermissionService {
    
    /**
     * 创建新角色
     */
    Role createRole(String name, String description);
    
    /**
     * 为角色分配权限
     */
    Role assignPermissionsToRole(Long roleId, List<Long> permissionIds);
    
    /**
     * 为用户分配角色
     */
    void assignRolesToUser(Long userId, List<Long> roleIds);
    
    /**
     * 创建权限
     */
    Permission createPermission(String name, String description, String permissionKey);
    
    /**
     * 获取所有角色
     */
    List<Role> getAllRoles();
    
    /**
     * 获取所有权限
     */
    List<Permission> getAllPermissions();
    
    /**
     * 获取用户的角色列表
     */
    List<Role> getUserRoles(Long userId);
}